package cn.tedu.sp03.user.service;

import cn.tedu.sp01.pojo.User;
import cn.tedu.sp01.service.UserService;
import cn.tedu.web.util.JsonUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.List;

@Slf4j
@Service
public class UserServiceImpl implements UserService {
    @Value("${sp.user-service.users}")
    private String userJson;
    @Override
    public User getUser(Integer userId) {
        log.info("users json string : "+userJson);
        //把userjson转成 List<User>
        //new TypeReference<List<User>>(){} 为了要使用匿名内部类继承的语法格式，写中间的List<User>类型
        List<User> list=JsonUtil.from(userJson, new TypeReference<List<User>>(){});
        for (User user : list) {
            if(user.getId().equals(userId)){
                return user;
            }
        }

        return new User(userId,"name-"+userId,"pwd-"+userId);
    }

    @Override
    public void addScore(Integer userId, Integer score) {
        //增加积分
        log.info("user "+userId+"- 增加积分"+score);

    }
}
